package controlador;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Vector;

import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.table.TableModel;

import vista.VistaCategoria;

import modelo.ModeloCategoria;
import modelo.ModeloCategoriaDAO;
import modelo.ModeloOrden;


public class ControladorCategorias implements ActionListener{
	private ModeloCategoriaDAO modelo;
	private VistaCategoria vista;
	
	public static void main(String[] args) {
		new ControladorCategorias();
	}
    
	public ControladorCategorias() {
		modelo = new ModeloCategoriaDAO();
		this.vista = new VistaCategoria();	
		this.vista.setVisible(true);
		this.vista.addlistener(this);
	}
	

	@Override
	public void actionPerformed(ActionEvent evt) {
		
		if(evt.getActionCommand().equals("Buscar")){
			if(!vista.getcodigo().isEmpty()){
				ModeloCategoria m= new ModeloCategoria();
				m.setCodigo(vista.getcodigo());
				if(modelo.consultar(m)){
					vista.getTxtcodigo().setEnabled(false);
					vista.getTxtnombre().setText(m.getDescripcion());
				}
				else
					vista.mostrarMensaje("El Codigo no se encuentra registrado");
			}
			else
				vista.mostrarMensaje("El Codigo esta vacio");
		}
		else if(evt.getActionCommand().equals("Salir")){
			vista.setVisible(false);
		}
		else if(evt.getActionCommand().equals("Cancelar")){
			vista.limpiarCancelar();
		}
		else if(evt.getActionCommand().equals("Modificar")){
			if(!vista.getcodigo().isEmpty() && !vista.getnombre().isEmpty()){
				ModeloCategoria m= new ModeloCategoria();
				m.setCodigo(vista.getcodigo());
				m.setDescripcion(vista.getnombre());
				if(modelo.actualizar(m)){
					vista.limpiarCancelar();
					vista.mostrarMensaje("Categoria actualizada");					
				}
				else
					vista.mostrarMensaje("El Codigo ya se encuentra registrado");
			}
			else
				vista.mostrarMensaje("Campos vacios");
		
		}
		else if(evt.getActionCommand().equals("Registrar")){
			if(!vista.getcodigo().isEmpty() && !vista.getnombre().isEmpty()){
				ModeloCategoria m= new ModeloCategoria();
				m.setCodigo(vista.getcodigo());
				m.setDescripcion(vista.getnombre());
				m.setStatus("A");
				if(modelo.registar(m)){
					vista.limpiarCancelar();
					vista.mostrarMensaje("Categoria registrada");					
				}
				else
					vista.mostrarMensaje("El Codigo ya se encuentra registrado");
			}
			else
				vista.mostrarMensaje("Campos vacios");
		
		}
}
	
}

